---
title: OBRetentionService operation map
summary: Which contract operations the OBRetentionService proxy exposes and which the repository actually calls.
status: draft
owner: ProcessOB3PRetention team
last_reviewed: 2026-10-22
---

# OBRetentionService operation map

This page reconciles the operations the proxy exposes against the operations repository source actually invokes. A reader uses it to answer whether this repository cares if the remote service changes an operation.

## Operation map

| Operation | SOAP action | Call site | Calling member | Arguments supplied | Result handling | Service operation | Source |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [`ArchiveDocument`](contract.md#archivedocument) | `WebServicePublishing/ThirdPartyArchivalService/Integration/ArchiveDocument` | `OnBaseService.ProcessRetention`, invoked once per batch from `ThirdPartyRetentionProcessor.Execute` | [`ArchiveDocument`](reference.md#archivedocument) | One `OBDocumentArchiveArchiveDocument`: a fixed placeholder `FileInfo` (`MIMEType` and `Base64FileStream` literals) and `Keywords.StandAlone.ClaimNumber_Collection` set to the batch's claim numbers | The `long` result is returned unchanged and logged by the caller; it is not validated or persisted | `ThirdPartyArchivalService`† | `ProcessOB3PRetention/Services/OnBaseService.cs:40` |

## Uncalled operations

Every operation the proxy exposes is called from repository source.

## External service origin

> **Origin**: `ArchiveDocument` is served by `ThirdPartyArchivalService`†, which is not documented by this run.

| Attribute | Value |
| --- | --- |
| Canonical service | `ThirdPartyArchivalService`† |
| Repository | Not determined from source** |
| Evidence of the operation shape | `ProcessOB3PRetention/Connected Services/OBRetentionService/EISClientWithConfig.wsdl` |
| Endpoint address | Value of the setting `ProcessOB3PRetention.WSPEndPointUrl`; deployed values for `prod`, `entqa`, and `npuat` are on [Endpoint resolution](architecture.md#endpoint-resolution) |

## Coverage

| Check | Count | Reconciles |
| --- | --- | --- |
| Operations declared by the proxy | 1 | [Contract](contract.md#operations) |
| Operations called from source | 1 | Rows in Operation map |
| Operations present but not called | 0 | Rows in Uncalled operations |
| Called + not called | 1 | Equals operations declared by the proxy |
| Every called row is marked with † | Yes | — |
| Every called row has a section in [Client reference](reference.md) | Yes | — |

The generator also emits a task-based asynchronous overload and extra constructor overloads on the proxy class. They are generator scaffolding, not contract operations, and the repository calls none of them.

## Related documentation
- [Client index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Contract](contract.md)
- [Client reference](reference.md)
- [Consumption](consumption.md)
- [Dependencies](dependencies.md)
- [Business rules](business-rules.md)
- [Tech debt](tech-debt.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- ProcessOB3PRetention/Connected Services/OBRetentionService/EISClientWithConfig.wsdl
- ProcessOB3PRetention/Services/OnBaseService.cs
- ProcessOB3PRetention/ThirdPartyRetentionProcessor.cs
- ProcessOB3PRetention/App.config
- environmentSettings/settings.yml
